package entity;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

import boundary.Adapter;

public class Text {

	private static int[] fieldsPrice; // Felternes købspris
	private static int[] fieldsConsequence; // Felternes købspris

	/**
	 * Læser antallet af ints i filerne price.txt og consequence.txt. Hvis antallet af ints er forskelligt afsluttes programmet.
	 * Hvis de er ens sættes længderne på arrays med price og consequence til antallet af ints.
	 */
	public static void readLines(){
		Scanner scan;
		int linesPrice = 0;
		int linesConsequence = 0;
		try {
			scan = new Scanner(new File("files/price.txt"));
			while (scan.hasNextInt() == true){
				scan.nextInt();
				linesPrice++;
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			Adapter.error(); // Message in case something goes wrong
		}
		try {
			scan = new Scanner(new File("files/consequence.txt"));
			while (scan.hasNextInt() == true){
				scan.nextInt();
				linesConsequence++;
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			Adapter.error(); // Message in case something goes wrong
		}

		if (linesPrice != linesConsequence) {
			Adapter.error();
		}
		else {
			fieldsPrice = new int[linesPrice];
			fieldsConsequence = new int[linesConsequence];
		}
	}

	/**
	 * Læser integers fra en fil (files/price.txt) og gemmer i array af integers.
	 */
	public static void readPrice(){
		Scanner scan;
		try {
			scan = new Scanner(new File("files/price.txt"));
			int n = 0;
			while (scan.hasNextInt() == true){
				fieldsPrice[n++] = scan.nextInt();
			}
		} catch (FileNotFoundException e) {
			Adapter.error(); // Message in case something goes wrong
			e.printStackTrace();
		}
	}

	/**
	 * Læser integers fra en fil (files/consequence.txt) og gemmer i array af integers.
	 */
	public static void readConsequence(){
		Scanner scan;
		try {
			scan = new Scanner(new File("files/consequence.txt"));
			int n = 0;
			while (scan.hasNextInt() == true){
				fieldsConsequence[n++] = scan.nextInt();
			}
		} catch (FileNotFoundException e) {
			Adapter.error(); // Message in case something goes wrong
			e.printStackTrace();
		}
	}

	/**
	 * Hent array af int med priser på felterne.
	 * @return Array af int med priser på felter
	 */
	public static int[] getPrices()
	{
		return fieldsPrice;
	}

	/**
	 * Hent array af ints med konsekvensen af at lande på et felt der har en ejer
	 * @return Array af int med konsekvens for felter
	 */
	public static int[] getConsequences(){
		return fieldsConsequence;
	}
}